1. Field of the Invention
The present invention relates to the field of image construction, in particular to the field of constructing perspective views from a given image.
2. Description of the Related Art
In the computer related field of virtual reality, it is desirable to obtain different views of a scene rapidly and with freedom to choose any viewing direction. It is known in the art to use an environment map to create different views of a scene. An environment map is an image or collection of images which characterize the appearance of a scene when viewed from a particular position. By mapping the environment map to a desired viewing plane, different perspective views may be obtained. This is a process termed rendering the environment map. A variety of different forms of environment maps have been used in the past. Each type of environment map has an associated projection which is used to compute the appearance along a ray traveling in a particular direction towards the camera. Not all types of environment maps capture the scene in every direction.
Creation of an environment map may be done through the use of computer graphics techniques, or by the digitizing of a photographic image(s). In either case, the environment map will have properties that are exploited when creating the perspective views.
An orthographic projection of a reflecting sphere to characterize the illumination of a scene is described by Williams in "Pyramidal Parametrics", Computer Graphics, Vol. 17, No. 3, pgs. 1-11, July, 1983. The intention was to use this environment map as an aid to the rapid computation of specular reflections. In an article by Greene entitled "Environment Mapping and Other Applications of World Projections", IEEE Computer Graphics and Applications, Vol. 6, No. 11, pgs. 21-29, Nov., 1986, six images on the faces of a cube are used for a "cubic environment map". This mapping was used to resample synthetic images of a scene to be redisplayed in the form of an Omnimax wide angle lens projection system as well as for the computation of reflections.
A third type of environment maps are termed spherical environment maps. There are a number of types of spherical projection which may be used to store spherical environment maps. Two are of particular interest; spherical reflection maps, and parametric spherical maps.
Spherical reflection maps store an image of the environment as an orthographic projection of a sphere shaded with a perfect reflection of the surrounding scene. Typically, these maps are circular images of spheres within a square array of pixels. These maps are useful for the computation of reflections and illumination when rendering specular surfaces. They do, in fact, sample the entire orientation space. However, they have the disadvantage that the orientations near the silhouette of the sphere are very sparsely sampled. This renders them unsuitable as a representation for all-round interactive viewers.
Parametric spherical environment maps store the environment data in a rectangular image where the (x, y) coordinates of a pixel, map linearly to points on a sphere which are defined by the (.theta., .phi.) spherical (or angular) coordinates of a corresponding direction vector.
The relationship between the direction vector and the angular coordinates is given by:
D.sub.x =cos (.theta.) sin (.phi.) PA1 D.sub.y =cos (.theta.) cos (.phi.) PA1 D.sub.z =sin (.theta.) PA1 The environment is stored in a single contiguous image. PA1 They sample the environment completely. PA1 Translation along the equatorial direction in the map corresponds with rotation about the poles of the sphere. PA1 The environment is always sampled at least as frequently as at the equator.
Typically, a parametric spherical environment map is twice as wide as it is high since a sphere is twice the distance around the equator as it is from pole to pole. All regions are sampled at least as much as at the equator. Regions near the poles are oversampled. The parametric spherical environment map contains the pixel values which are used to display the parametric spherical environment.
Parametric spherical environment maps have a number of useful properties.
Means for viewing a spherical environment map may be characterized by the algorithm used for display and by the speed with which different degrees of freedom for the view point may be updated.